namespace foundation
{
    public interface IDataInput
    {
        bool ReadBoolean();
        byte ReadByte();
        void ReadBytes(byte[] bytes, uint offset, uint length);
        double ReadDouble(bool littleEndian = false);
        float ReadFloat(bool littleEndian = false);
        int ReadInt(bool littleEndian = false);
        uint ReadUInt(bool littleEndian = false);
        short ReadShort(bool littleEndian = false);
        ushort ReadUShort(bool littleEndian = false);
        object ReadObject();
        byte ReadUnsignedByte();
        string ReadUTF();
        string ReadUTFBytes(uint length);
    }
}